The present invention relates to the processing of data and more particularly to processing of metadata.
Extensible Markup Language (XML) has become the de facto standard for flexible information exchange (storage and communication) over the Internet. For instance, XML is commonly used as a message format in distributed systems. Typically, in order to process an XML message, it is converted to an intermediate representation such as a document object model (DOM) tree, and is further manipulated and propagated to another system over a network as an XML message or packets. Such communications, which are prevalent in electronic commerce (e-commerce) applications, provide the ability for various entities to manipulate data within an XML document and provide the manipulated document back to its source.
To obtain and utilize data within an XML document, which may be information in many different forms depending on the application, the document must be parsed. However, the parsing process can be quite computationally intensive. For example, processing of metadata associated with an XML document is both compute and memory intensive. The volume of metadata being created and sent on networks is increasing tremendously. Furthermore, technologies such as web services, service oriented architectures (SOA), and other managed runtime technology-based functionality have made metadata languages the de facto standard for persistent and network data.
New usage models have started driving the need for mobile solutions in the enterprise space. The demand for scalable, reliable, available, secure and high performance mobile products and solutions is rising rapidly. Many new mobile technologies support XML including, for example, Microsoft's .NET framework and .NET compact framework, and Java Community Process's Java Specification Requests (JSRs), such as web services (JSR 172), among others.
Typically, in enterprise systems, XML packets are queued and provided from an enterprise device (e.g., an enterprise server) to a hardware accelerator to offload the parsing of the XML packets. These packets are generally buffered until a certain amount of packets or data have been stored. The stored packets are then offloaded at a single delayed time from their receipt. Accordingly, a time lag exists between receipt of XML packets and processing of the packets. Further, significant resources are consumed by the movement of the packets throughout different locations in an enterprise. Accordingly, inefficiencies at the enterprise devices also exists.
Complicating matters further are the use of mobile technologies in such enterprise systems, as the mobile devices typically lack the computing and storage resources of other enterprise devices. This leads to poor performance in processing of XML packets on mobile devices. Accordingly, XML packets are typically processed away from mobile devices, slowing handling of the packets and delaying receipt of data from those packets at the mobile devices.
Some mobile devices used in an enterprise space can receive voluminous XML packets, further increasing complexity of processing the packets. XML processing on huge amounts of XML payload packets on a client device is time consuming, utilizes significant computing power and memory, thus slowing down the overall system performance and increasing the power consumption.
Accordingly, a need exists to improve handling of XML documents, particularly in mobile technologies.